package define

import "errors"

var (
	UserErrorAvatarNotImage = errors.New("头像链接非图片资源")
)

type ParamUserLogin struct {
	Username string `json:"username" binding:"required"`
	Password string `json:"password" binding:"required"`
}

type ParamUserChangePassword struct {
	OPassword string `json:"opassword" binding:"required"`
	Password  string `json:"password" binding:"required"`
}

// ParamUserListPage 前端传来的获取用户列表的参数结构
type ParamUserListPage struct {
	Page    int    `json:"page" form:"page"`
	Size    int    `json:"size" form:"size"`
	Keyword string `json:"keyword" form:"keyword"`
}

// ParamUserAdd 前端传来的创建用户的结构
type ParamUserAdd struct {
	Username     string `json:"username"`
	Password     string `json:"password"`
	Phone        string `json:"phone"`
	RoleIdentity string `json:"role_identity"`
}

// ParamUser 前端传来的更新用户的结构
type ParamUser struct {
	ParamUserAdd
	Identity string `json:"identity"`
}

// ParamAvatar 前端传来的更新用户头像的结构
type ParamAvatar struct {
	Avatar string `json:"avatar"`
}

// UserListReply 返回前端的用户列表结构
type UserListReply struct {
	Identity     string `json:"identity"`
	RoleIdentity string `json:"role_identity"`
	RoleName     string `json:"role_name"`
	Username     string `json:"username"`
	Phone        string `json:"phone"`
	Avatar       string `json:"avatar"`
	CreatedAt    string `json:"created_at"`
	UpdatedAt    string `json:"updated_at"`
}

// UserDetailReply 返回前端的用户个人详情结构
type UserDetailReply struct {
	UserListReply
}
